#!/bin/bash
# 停止所有服务

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
DOCKER_DIR="$PROJECT_ROOT/docker"

echo "🛑 停止所有服务..."
echo "=================================================="

# 切换到项目根目录
cd "$PROJECT_ROOT"

# 停止所有容器（包括所有 profiles）
echo "🛑 停止默认服务..."
docker-compose -f docker/docker-compose.yml --env-file .env down

echo "🛑 停止 Flink 服务..."
docker-compose -f docker/docker-compose.yml --env-file .env --profile flink down 2>/dev/null || true

# 强制停止所有 browse-etl 容器（以防万一）
echo "🛑 强制停止所有相关容器..."
docker ps --filter "name=browse-etl" --format "{{.ID}}" | xargs -r docker stop 2>/dev/null || true
docker ps -a --filter "name=browse-etl" --format "{{.ID}}" | xargs -r docker rm -f 2>/dev/null || true

# 清理 LocalStack 创建的 Lambda 执行容器
echo ""
echo "🧹 清理 Lambda 执行容器..."
LAMBDA_CONTAINERS=$(docker ps -a --filter "name=browse-etl-localstack-lambda" --format "{{.ID}}" 2>/dev/null || true)
if [ -n "$LAMBDA_CONTAINERS" ]; then
    echo "$LAMBDA_CONTAINERS" | xargs docker rm -f 2>/dev/null || true
    echo "✅ 已清理 Lambda 容器"
else
    echo "ℹ️  无需清理"
fi

echo ""
echo "✅ 所有服务已停止"
echo ""
echo "📝 提示："
echo "   - 重新启动: ./scripts/start-all.sh"
echo "   - 完全清理（包括数据）: ./scripts/clean-all.sh"
echo "=================================================="

